package com.lanou.test;

import java.util.ArrayList;
import java.util.List;

/**
 * @author zyj
 * @date 2022年05月17日 16:03
 */
public class A {
}

class B extends A{

}

class C extends B{

}

class D extends C{

}

class F{

}

/**
 * 给T 一个上限 使用通配符
 * @param <T>
 */
class E<T extends A>{
    private T t;

    public T getT() {
        return t;
    }

    public void setT(T t) {
        this.t = t;
    }
}
class H<T>{
    private T t;

    public T getT() {
        return t;
    }

    public void setT(T t) {
        this.t = t;
    }
}

class G{
    /**
     * 方法参数类型的泛型设置了上限
     * @param list
     */
    public static void add(List<? extends A> list){


    }

    /**
     * 设置了下限
     * @param list
     */
    public static void del(List<? super C> list){

    }

}